<template>
	<div class="tab-bar-item" @click="itemClick">
		<div v-if="!isActive">
			<slot name="item-icon"></slot>
		</div>
		<div v-else>
			<slot name="item-icon-active"></slot>
		</div>
		<div :style="activeStyle">
			<slot name="item-text"></slot>
		</div>
	</div>
</template>

<script>
	export default {
		name: "TabBarItem",
		props: {
			path: String,
			activeColor: {
				default: "red",
				type: String
			}
		},
		data() {
			return {
				// isActive: true
			};
		},
		computed: {
			isActive() {
				return this.$route.path == this.path;
			},
			activeStyle() {
				return this.isActive ? { color: this.activeColor } : {};
			}
		},
		methods: {
			itemClick() {
				if (this.$route.path == this.path) return;
				this.$router.replace(this.path);
			}
		}
	};
</script>
<style scoped>
	.tab-bar-item {
		flex: 1;
		height: 49px;
		font-size: 14px;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.tab-bar-item img {
		width: 24px;
		height: 24px;
	}
	.tab-bar-item div {
		display: flex;
	}
</style>
